package org.example;

// Rectangle.java
public class Rectangle {
    // 属性：宽度和高度
    private int width;
    private int height;

    // 无参构造方法，默认宽度和高度为1
    public Rectangle() {
        this.width = 1;
        this.height = 1;
    }

    // 一个参数构造方法，宽度和高度相等
    public Rectangle(int size) {
        this.width = size;
        
        this.height = size;
    }

    // 两个参数构造方法，宽度和高度分别由参数指定
    public Rectangle(int width, int height) {
        this.width = width;
        this.height = height;
    }

    // 计算周长
    public int getPerimeter() {
        return 2 * (width + height);
    }

    // 计算面积
    public int getArea() {
        return width * height;
    }

    // 主方法，进行测试
    public static void main(String[] args) {
        // 测试无参构造方法
        Rectangle rectangle1 = new Rectangle();
        System.out.println("无参构造方法的矩形：");
        System.out.println("周长：" + rectangle1.getPerimeter());
        System.out.println("面积：" + rectangle1.getArea());

        // 测试一个参数构造方法
        Rectangle rectangle2 = new Rectangle(5);
        System.out.println("\n一个参数构造方法的矩形：");
        System.out.println("周长：" + rectangle2.getPerimeter());
        System.out.println("面积：" + rectangle2.getArea());

        // 测试两个参数构造方法
        Rectangle rectangle3 = new Rectangle(5, 8);
        System.out.println("\n两个参数构造方法的矩形：");
        System.out.println("周长：" + rectangle3.getPerimeter());
        System.out.println("面积：" + rectangle3.getArea());
    }
}